#pragma once

#include <memory>
#include "TrueText/ShadowInfo.h"
#include <boost/smart_ptr/shared_ptr.hpp>

namespace TrueText {

class Drawer;

class FontEffectShadowImpl
{
public:
	FontEffectShadowImpl();
	FontEffectShadowImpl(const FontEffectShadowImpl& rhs);
	const FontEffectShadowImpl& operator=(const FontEffectShadowImpl& rhs);
	~FontEffectShadowImpl();

	const ShadowInfo& GetShadowInfo() const;
	void SetShadowInfo(const ShadowInfo& value);

	bool IsEnabled() const;
	void Enable(bool fEnable);
public:
	boost::shared_ptr<Drawer> CreateDrawer(Drawer* sourceDrawer) const;
private:
	bool enabled;
	ShadowInfo shadowInfo;
};

}